package com.wteam.dragon.shop.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wteam.dragon.shop.pojo.bean.Product;
import com.wteam.dragon.shop.pojo.bean.SkuStock;
import com.wteam.dragon.shop.pojo.dto.ProductDto;
import com.wteam.dragon.shop.pojo.dto.QueryProductDto;
import com.wteam.dragon.system.basebean.bean.ResultMessage;

import java.util.List;

/**
 * @Author 陈晓辉
 * @Date 2020/7/7 20:12
 */
public interface ProductService {
    /**
     * 添加商品
     */
    ResultMessage addProduct(ProductDto productDto);

    /**
     * 更改商品Sku库存
     */
    ResultMessage editSkuStock(Long productId, List<SkuStock> skuStockList);

    /**
     * 批量删除商品
     */
    ResultMessage delProduct(List<Long> ids);

    /**
     * 分页获得商品列表
     */
    ResultMessage pageProduct(Page<Product> page, QueryProductDto queryProductDto);

    /**
     * 编辑商品
     */
    ResultMessage editProduct(ProductDto productDto);

    /**
     * 通过商品id获得SKU库存
     */
    ResultMessage getSkuStockByProductId(Long productId, String skuCode);

    /**
     * 获得商品详情
     */
    ResultMessage getProduct(Long id);

    /**
     * 批量上架和下家
     */
    ResultMessage editPublishStatus(List<Long> ids, Integer status);

    /**
     * 推荐和取消推荐
     */
    ResultMessage editRecommendStatus(List<Long> ids, Integer status);

    /**
     * 设为新品和取消新品
     */
    ResultMessage editNewStatus(List<Long> ids, Integer status);

    /**
     * 获得简单的商品信息
     */
    ResultMessage pageSimpleProduct(Page<Product> page, String name);
}
